-------------------------------------------------------------------------------

  DNN Documents Module

  Release Notes: Version 03.01.03

  History
  -------
  25 Feb 2006  03.01.01  Anthony Glenwright  Proposed (draft) version of release notes.
  02 Jun 2006  03.01.02  Anthony Glenwright  Updated for changes implemented for DNN 3.3.
  15 Jun 2006  03.01.03  Anthony Glenwright  Fixed caching bug.
-------------------------------------------------------------------------------

What's New - 03.01.03
---------------------

1.  Fixed Caching bug
In version 3.1.2, internal caching code was added to improve performance because
the documents module is not compatible with DNN core module caching (the core 
caching code does not cache modules "per user", and the documents module displays
only those documents where the current user has access to the underlying file).  The
new caching code did not correctly refresh after documents were added to the module.

The caching code has been modified to:
a)  Only cache the documents list for anonymous (not logged in) users;
b)  Refresh the cache after changes.

NOTES:
The documents module is not compatible with DNN module caching unless all documents
being shown are available for all users.  DNN caches a single copy of module contents 
once for all users, so if an administrator sets a "cache time" of anything other than
zero, the "wrong" copy of the cached documents module can be shown.


What's New - 03.01.02
---------------------

1.  New Fields and existing field name change
2.  Display column selection (visibility), column ordering
3.  Sort order
4.  CSS styling enhancements
5.  Show title as link
6.  Use document categories list
7.  Secure storage


1.  New Fields
--------------

We've added several new fields to the documents module:

CreatedByUserID:  Previous versions of the documents module had a field
(field change)    named "CreatedByUser", which was a nvarchar(100), but
                  stored the User ID of the user who last modified the 
                  document record.  This field has been renamed to 
                  "CreatedByUserID", which is now of type "int".  The 
                  upgrade script populates the new field with values from
                  the old "CreatedByUser" field before removing the old 
                  field, and the purpose of the field now matches it's 
                  name - that is, it stores the User Id of the user who
                  created the document record, and not the User Id of the
                  user who last edited the document record.
CreatedDate:      Stores the date the document record was created.  This
(field change)    is not a new field, but like the "CreatedByUser" field,
                  it's purpose has changed to match it's name - CreatedDate
                  now stores the date the document record was created, not
                  the date it was last modified.
OwnedByUserID:    Stores the User Id of the user who "owns" the document
(new)             record.  This field defaults to the logged on user when
                  a new document record is created, but can be changed
                  in the Edit documents page.
ModifiedByUserID: Stores the User Id of the user who last modified the
(new)             document record.
ModifiedDate:     Stores the date/time the document record was last changed.
(new)
SortOrderIndex:   Allows "manual" sorting of documents (see section 3).  
(new)             This field contains a manually-entered number from 0-999,
                  which can be used to sort the documents list.
Description:      Allows entry of an extended description of the document,
(new)             which can be displayed in the document module's output.


2.  Display column selection (visibility), column ordering
----------------------------------------------------------

The new documents module contains a "Documents settings" section on the 
settings page which allows admins to choose which fields are visible, as 
well as control the order in which they are displayed.  

3.  Sort order
--------------

In the new "Documents settings" section, admins can select one or more 
fields to sort by.  If no sort fields are selected, the module displays
documents ordered by Title.  To manually define the sort order, admins
can select "Sort Index" as the sort order, and enter numeric values in 
each document's "Sort Index" field.

4.  CSS styling enhancements
----------------------------

The documents module renders an "outside" DIV tag with a CLASS attribute 
of "DNN_Documents".  Each header cell has a CLASS attribute of [Name]Header,
where [Name] is the column name - for example "TitleHeader", "SizeHeader", 
"CategoryHeader".  Each data cell has a CLASS attribute of [Name]Item, for
example "TitleItem", "SizeItem", "CategoryItem".  This allows skin developers
to control the CSS style of individual columns.  For example, use the 
following CSS to render the size column in red:

  .DNN_Documents .SizeItem {color: red}

"Default" class names were assigned for the DataGrid - CssClass="Normal" 
amd HeaderStyle-CssClass="SubHead" so that if no additional CSS elements
are defined, the module renders using the same CSS styles as in previous 
versions.

In addition, the "CellPadding" attribute has been removed from the DataGrid
control used to render the output, and replaced with a CSS-driven value in
module.css - .DNN_Documents TD { padding: 4px; }.  This is so end users can 
control the padding between items using CSS file in their skins or 
containers.  Also, a GridLines="None" attribute was added to the DataGrid,
because when it was omitted, gridlines were drawn when rendering in Firefox, 
Netscape Navigator and other browsers.

5.  Show title as link
----------------------

A new "Show title as link" option has been added to the Documents Settings 
section of the Settings page.  This option controls whether the Title is
rendered as a hyperlink, or as regular text.

6.  Use document categories list
--------------------------------

A new "Use Document Categories List" option has been added to the Documents 
Settings section of the Settings page.  This option controls whether the 
document "Category" field is a free-form text entry field, or if it is a 
drop-down list.  The list is maintained in the Host "Lists" page.  

To create the "Document Categories" list, log in as Host, navigate to the 
Lists page and click "Add List".  Set "Parent List" to "None Specified",
leave "Parent Entry" blank, and enter "Document Categories" as the 
"Entry Name".  Enter the first value you want for the list i.e. "Downloads"
for both the entry text and entry value fields.  If you want to be able
to control the sort order of your document categories, click "Enable Sort
Order".  Click save to create the list and the first entry.  Once you have 
created the list, you can add items by clicking "Add Entry".

7.  Secure Storage
------------------

The documents module implements the new core secure storage feature.  File
security can be controlled in the File Manager page in DNN.  Only those files 
that the current user has access to will be shown by the documents module.

For more information, suggestions, questions and support, visit the documents
module project page at http://www.dotnetnuke.com/Default.aspx?tabid=826.
-------------------------------------------------------------------------------